#include "stock.h"
#include <iostream>


Stock::Stock(long max)
{
	taille=max;
	nb_prod=0;
	prod=new Produit[taille];
		
}
Stock::~Stock()
{
	delete[] prod;
}

bool Stock::existe(long ident)
{
	for(int i=0;i<nb_prod;i++)
	{
		if(prod[i].getIdent()== ident)
		{
			return true;
		}
	}
			return false;
}
bool Stock::ajouter(const Produit& P)
{
	//bool trouve=existe(P.getIdent());
	if(nb_prod==taille)
	{
		cout<<"désolé le stock est déja rempli !!";
		return false;
	}else{
		prod[nb_prod]=P;
		nb_prod++;
		return true;
	      }
}
void Stock::afficher()
{
	for(int i=0;i<nb_prod;i++)
	{
		prod[i].afficher();
	}
}

float Stock::totalPrix()
{
	float somme=0;
	for(long i=0;i<nb_prod;i++)
	{
		somme=somme+prod[i].getPrix();
	}

 return somme;
}
void Stock::affiche_som()
{
	cout<<"la somme totale est :\n"<<totalPrix()<<endl;	
}
Stock::Stock(const Stock& S)
{
	taille=S.taille;
	nb_prod=S.nb_prod;
	prod =new Produit[taille];
	for(long i=0;i<nb_prod;i++)
	{
		prod[i]=S.prod[i];
	}
}

Stock& Stock::operator=(const Stock& S)
{
	if(this != &S) // this est un pointeur sur l'objet courant
	{
		delete[] prod;
		taille=S.taille;
		nb_prod=S.nb_prod;
		prod= new Produit[taille];
		for(int i=0;i<nb_prod;i++)
		{
			prod[i]=S.prod[i];
		}
	}
return *this; //*this c'est l'objet lui mm
}		

